Ext.ux.AddAdmin = Ext.extend(Ext.Panel, {
	initComponent : function(config) {
		var basePath = document.getElementById('basePath').href;
		var exist;
		
		var addAdminForm = new Ext.FormPanel({
			labelWidth : 100,
			url : basePath + 'admin/add.action',
			autoScroll:true,
			frame : true,
			fileUpload: true,
			bodyStyle : 'padding:5px 5px 0',
			width : '100%',
			defaults : {
				width : 220
			},
			defaultType : 'textfield',

			items : [ {
				fieldLabel : '用户名',
				name : 'admin.username',
				allowBlank : false,
				listeners:{
					change :function(field) {
						Ext.Ajax.request( {
							url :encodeURI(encodeURI(basePath + 'admin/checkExist.action?admin.username='
								+ field.getValue())),
							method : 'post',
							callback : function(op, success, response) {
								var msg = eval('(' + response.responseText + ')');
								exist = msg.result;
								if (msg.result == 'true') {
									Ext.Msg.alert('提示', '该用户名已存在');
									return;
								}
							}
						});
					}
				}
			}, {
				fieldLabel : '密码',
				name : 'admin.password',
				id:'adminPassword',
				inputType: 'password',
				allowBlank : false
			}, {
				fieldLabel : '确认密码',
				id:'adminPassword2',
				inputType: 'password',
				name : 'password',
				allowBlank : false
			}],
			bbar : ['->', {
				text : '保存',
				handler:function() {
					var password1 = Ext.getCmp('adminPassword').getValue();
					var password2 = Ext.getCmp('adminPassword2').getValue();
					if(!addAdminForm.form.isValid()) return;
					if(password1 != password2) {
						Ext.Msg.alert('提示', '两次密码输入不一致');
						return;
					}
					if(exist == 'true') {
						Ext.Msg.alert('提示', '该用户名已存在');
						return;
					}
					addAdminForm.form.submit( {
						url : basePath + 'admin/add.action', //点击插入执行的方法,将图片保存到服务器上
						success : function(form, action) {
							form.reset();
							Ext.Msg.alert('提示', '添加管理员成功');
						},
						failure : function(form, action) {
							form.reset();
							if (action.failureType == Ext.form.Action.SERVER_INVALID)
								Ext.MessageBox.alert('警告', action.result.msg);
						}
					});
				}
			}, '-', {
				text : '重置',
				handler:function() {
					addAdminForm.form.reset();
				}
			}, {
				xtype:'spacer',
				width:50
			}]
		})
		
		Ext.apply(this, {
			title : '添加管理员',
			autoScroll:true,
			frame : true,
			bodyStyle : 'padding:5px 5px 0;align:center',
			width : 200,
			closable : 'true',
			items:[addAdminForm]
		});
		Ext.ux.AddAdmin.superclass.initComponent.apply(this, arguments);
	}
});
Ext.reg('lgnAddAdmin', Ext.ux.AddAdmin);
